package org.hipi.test;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.io.IOException;
public class ImageComparisonUtils {
public static boolean checkPsnr(String imgPath, String truthPath, float thresh)
throws IOException {
Runtime rt = Runtime.getRuntime();
String cmd = "compare -metric PSNR " + imgPath + " " + truthPath + " /tmp/psnr.png";
System.out.println(cmd);
Process pr = rt.exec(cmd);
Scanner scanner = new Scanner(new InputStreamReader(pr.getErrorStream()));
float psnr = scanner.hasNextFloat() ? scanner.nextFloat() : 0;
System.out.println("PSNR: " + psnr);
// assertTrue("PSNR is too low : " + psnr, psnr > 30);
return (psnr >= thresh);
}
}